<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="css/common.css">
    <link rel="stylesheet" href="css/login.css">
</head>
<body>
    <!-- 导航栏 -->
    <div class="nav">
        <!-- 左边 -->
        <div class="nav-left">
            <img src="img/logo2.jpg" alt="">
            <span>我的博客系统</span>
        </div>
    </div>
    <!-- 登录部分 -->
    <div id="login-container">
        <div id="login-form">
            <h3>登录</h3>
            <div class="login-row">
                <span>用户名</span>
                <input type="text" id="username">
            </div>
            <div class="login-row">
                <span>密码</span>
                <input type="password" id="password">
            </div>
            <div class="login-row">
                <input type="submit" id="submit" value="提交">
            </div>
        </div>
    </div>
</body>
<script src="js/util.js"></script>
<script>
    //点击提交按钮，才会发起登录的http请求，绑定提交按钮的点击事件
    let submit = document.querySelector("#submit");
    submit.onclick = function(){
        //发送ajax情求，需要设置method，url，contentType，body
        //先获取请求数据：账号文本框及密码框输入的内容
        let username = document.querySelector("#username").value;
        let password = document.querySelector("#password").value;
        //自己定义发送数据的方式，可以是（不管哪种方式，键都是前后端约定好）：
        //1.get(queryString)
        //2.post(表单格式): 键1=值1&键2=值2
        //3.post(json): {"键1": "值1", "键2": "值2"}
        ajax({
            url: "/api/user/login",
            method: "post",
            contentType: "application/json",
            body: JSON.stringify({
                //冒号前，是前后端约定的键，冒号后是引用的变量
                username: username,
                password: password
            }),
            //回调函数，函数的参数名随便写，其实是通过封装的ajax函数，调用了这个callback回调
            //第一个参数是响应状态码，第二个参数是响应正文（body）字符串
            callback: function(status, responeText){
                // 先判断一下状态码
                if(status == 200){//http响应成功
                    //解析响应数据：{"ok": true, data: ...}
                    let json = JSON.parse(responeText);
                    if(json.success){//登录成功：跳转到博客列表页面（ajax技术，serlvet都是返回json，所以这里写html的路径）
                        window.location.href = "blog_list.html";
                    }else{//登录失败: 简单实现。弹出框提示
                        alert(json.message)
                    }
                }else{
                    alert("响应状态码："+status+"\nbody: "+responeText)
                }
            }
        });
    }
</script>
</html>